Programmable logic devices (PLDs) such as field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) are becoming increasingly popular as a circuit technology for a variety of applications. Attributes of reconfigurability and shortened design to implementation time in many instances may provide competitive advantages.
The complexity of system designs is increasing along with the additional resources made available with each new generation of PLDs. Early generations of PLDs were popular for glue logic, and recent generations have the resources to implement a system on a chip. In developing a large system having many subcomponents, designers are more and more relying on designs previously created for the subcomponents. The subcomponent designs may be developed internal to an organization or obtained from outside the organization responsible for designing and implementing the overall system.
With subcomponent designs being gathered from various sources, the system designer may have less control over ensuring the security of the system than if all the subcomponents were designed and created under control of the system designer. Even from trusted vendors there may be some degree of risk that an unscrupulous employee has added unauthorized logic (Trojan horse logic) to the general function of the design. Trojan horse logic may be instantiated and activated after the system is deployed and operating and may expose secret information or modify some function of the design, for example. The risks are relevant to applications ranging from military defense systems to commercial banking systems, for example.
Known functions of a design may be easily tested prior to deployment using a test suite to verify the functions. However, these types of tests do not verify the absence of unwanted behaviors of the design. Formal verification methods may be used to determine whether the final implementation matches and is limited to the source design specification. However, the time and effort involved may be prohibitive.
The present invention may address one or more of the above issues.